import 'dart:io';

void main(List<String> args)async {
  print('这是立即打印的代码');
  try {
  String data= await getData(); 
    print(data);
  }catch(e){
    print(e);
  }

  // 接收Future中的返回值(成功)

  print('执行完毕');
}

// Promise
// getData(){
//  return Promise((resolve, reject) =>  {  resolve(' 成功的 值') })  .then
// }

// Future 类似 Promise, 异步的
// 语法: Future((){ // return 表示成功})
Future<String> getData() {
  return Future<String>(() {
    // 让代码 5秒钟之后才往后走
    sleep(Duration(seconds: 5));
    // throw Exception('一个错误');

    // 成功的返回值
    // return '获取的数据';
    throw Exception('错误 信息');

  
    // 抛出一个错误
  });
}
